/**
 * Copyright (c) 2006-2007 Jinyi.lu
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of GNU LGPL license by gun.org
 * which accompanies this distribution, and is available at
 * http://gnu.feld-it.at/copyleft/lesser.html
 * 
 * Project Homepage : http://code.google.com/p/demou
 * Source Code: svn checkout http://demou.googlecode.com/svn/trunk/ demou
 * Mailing list : jinyi.lu@gmail.com
 *                stonelu@126.com
 *
 *  
 * Contributors:
 *     JinYi.Lu - initial API and implementation
 */
package cn.tworen.demou.io.flv;

import net.sf.cindy.Buffer;
import cn.tworen.demou.cmd.DataType;

/**
 * Created on  2007-1-24
 *
 * Title       : AbsTag.java
 * Description : 
 * 
 * @author     : LuJinYi
 * @version    : 1.0
 * @Date       : 2007-1-24
 * History     : 
 * 
 */
public class AbsTag implements IFlvTag{
	private int previousTagSize = 0;
	private int dataSize = 0;
	private int streamId = 0;
	private int timestamp =0;
	private int timestampExtended =0;
	private long filePointer = 0;
	protected DataType type = null;
	private Buffer data = null;
	/**
	 * @hibernate.property
	 * @return Returns the previousTagSize.
	 */
	public int getPreviousTagSize() {
		return previousTagSize;
	}
	/**
	 * @param previousTagSize the previousTagSize to set
	 */
	public void setPreviousTagSize(int previousTagSize) {
		this.previousTagSize = previousTagSize;
	}
	/**
	 * @hibernate.property
	 * @return Returns the dataSize.
	 */
	public int getDataSize() {
		return dataSize;
	}
	/**
	 * @param dataSize the dataSize to set
	 */
	public void setDataSize(int dataSize) {
		this.dataSize = dataSize;
	}
	/**
	 * @hibernate.property
	 * @return Returns the streamId.
	 */
	public int getStreamId() {
		return streamId;
	}
	/**
	 * @param streamId the streamId to set
	 */
	public void setStreamId(int streamId) {
		this.streamId = streamId;
	}
	/**
	 * @hibernate.property
	 * @return Returns the timestamp.
	 */
	public int getTimestamp() {
		return timestamp;
	}
	/**
	 * @param timestamp the timestamp to set
	 */
	public void setTimestamp(int timestamp) {
		this.timestamp = timestamp;
	}
	/**
	 * @hibernate.property
	 * @return Returns the timestampExtended.
	 */
	public int getTimestampExtended() {
		return timestampExtended;
	}
	/**
	 * @param timestampExtended the timestampExtended to set
	 */
	public void setTimestampExtended(int timestampExtended) {
		this.timestampExtended = timestampExtended;
	}
	/**
	 * @hibernate.property
	 * @return Returns the type.
	 */
	public DataType getType() {
		return type;
	}
	/**
	 * @param type the type to set
	 */
	public void setType(DataType type) {
		this.type = type;
	}
	/**
	 * @hibernate.property
	 * @return Returns the data.
	 */
	public Buffer getData() {
		return data;
	}
	/**
	 * @param data the data to set
	 */
	public void setData(Buffer data) {
		this.data = data;
	}
	/**
	 * @hibernate.property
	 * @return Returns the filePointer.
	 */
	public long getFilePointer() {
		return filePointer;
	}
	/**
	 * @param filePointer the filePointer to set
	 */
	public void setFilePointer(long filePointer) {
		this.filePointer = filePointer;
	}
}
